
/**
 * Represents a direction in which to move an ant.
 */
public enum MyAim {
    /** North direction, or up. */
    NORTH(-1, 0),
    
    /** East direction or right. */
    EAST(0, 1),
    
    /** South direction or down. */
    SOUTH(1, 0),
    
    /** West direction or left. */
    WEST(0, -1),
    
    /** North direction, or up. */
    NORTH_EAST(-1, 1),
    
    /** East direction or right. */
    SOUTH_EAST(1, 1),
    
    /** South direction or down. */
    SOUTH_WEST(1, -1),
    
    /** West direction or left. */
    NORTH_WEST(-1, -1);
    
//    private static final Map<Character, MyAim> symbolLookup = new HashMap<Character, MyAim>();
//    
//    static {
//        symbolLookup.put('n', NORTH);
//        symbolLookup.put('e', EAST);
//        symbolLookup.put('s', SOUTH);
//        symbolLookup.put('w', WEST);
//    }
    
    private final int rowDelta;
    
    private final int colDelta;
    
//    private final char symbol;
    
    MyAim(int rowDelta, int colDelta) {
        this.rowDelta = rowDelta;
        this.colDelta = colDelta;
    }
    
//    MyAim(int rowDelta, int colDelta, char symbol) {
//        this.rowDelta = rowDelta;
//        this.colDelta = colDelta;
//        this.symbol = symbol;
//    }
    
    /**
     * Returns rows delta.
     * 
     * @return rows delta.
     */
    public int getRowDelta() {
        return rowDelta;
    }
    
    /**
     * Returns columns delta.
     * 
     * @return columns delta.
     */
    public int getColDelta() {
        return colDelta;
    }
    
//    /**
//     * Returns symbol associated with this direction.
//     * 
//     * @return symbol associated with this direction.
//     */
//    public char getSymbol() {
//        return symbol;
//    }
//    
//    /**
//     * Returns direction associated with specified symbol.
//     * 
//     * @param symbol <code>n</code>, <code>e</code>, <code>s</code> or <code>w</code> character
//     * 
//     * @return direction associated with specified symbol
//     */
//    public static MyAim fromSymbol(char symbol) {
//        return symbolLookup.get(symbol);
//    }
}
